package com.yl.chainStore.mapper.pay

import com.yl.chainStore.entity.pay.PayOrderCustomerPayLogDetail;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yl.chainStore.pojo.dto.statistical.OrderPayLogSumMoneyDto
import com.yl.chainStore.pojo.dto.statistical.PaySumMoneyForDayDto
import com.yl.chainStore.pojo.dto.statistical.StatisticalBalanceInLogByDayDto
import com.yl.chainStore.pojo.dto.statistical.StatisticalBalanceInLogByTypeDto
import com.yl.chainStore.pojo.vo.statistical.IncomeSummarySelectVo
import com.yl.chainStore.pojo.vo.statistical.ReconciliationSelectVo
import org.apache.ibatis.annotations.Mapper
import org.apache.ibatis.annotations.Param

/**
 * <p>
 * 订单付款记录明细 Mapper 接口
 * </p>
 *
 * @author cxw
 * @since 2021-11-21
 */
@Mapper
interface PayOrderCustomerPayLogDetailMapper : BaseMapper<PayOrderCustomerPayLogDetail> {

	/**
	 * 按日期统计订单付款记录
	 */
	fun getCustomerOrderPayLogDetailByDay(@Param("vo") vo: IncomeSummarySelectVo): List<StatisticalBalanceInLogByDayDto>

	/**
	 * 按日期查询付款总额
	 */
	fun getCustomerOrderPayLogSumMoneyByDay(@Param("vo") vo: IncomeSummarySelectVo): List<OrderPayLogSumMoneyDto>

	/**
	 * 按付款类型统计付款总额
	 */
	fun getCustomerOrderPayLogSumMoneyByPayType(@Param("vo") vo: IncomeSummarySelectVo): List<StatisticalBalanceInLogByTypeDto>

	/**
	 * 时间段内 第一次付款 对应订单应付款 - 第一次付款金额总和
	 */
	fun getNewAddOwnSumMoney(@Param("vo")vo : ReconciliationSelectVo):Long

	/**
	 * 获取时间段内 收款总额
	 */
	fun getPutAwaySumMoney(@Param("vo")vo : ReconciliationSelectVo):Long

	/**
	 * 每日订单总额
	 */
	fun getOrderPaySumMoneyByDay(@Param("vo")vo: ReconciliationSelectVo): List<PaySumMoneyForDayDto>

	/**
	 * 按日期 查询 时间段内 第一次付款 对应订单应付款 - 第一次付款金额总和
	 */
	fun getNewAddOwnSumMoneyByDay(@Param("vo")vo : ReconciliationSelectVo): List<PaySumMoneyForDayDto>

}
